import {
	request,
	upload
} from "@/utils/network.js";

export function bindClientId(params) {
	return request("POST", "live/bindClientId",params)
}

/**
 * 直播分类列表
 * @param {String} type 分类 1-商户直播 2-技师直播
 */
export function liveCategoryList(type) {
	return request("GET", "live/cate", {type})
}

/**
 * 直播列表
 * @param {Object} params 参数
 * @param {String} params.page 分页
 * @param {String} params.cate_id 分类ID
 * @param {String} params.type 分类 1-商户直播 2-技师直播
 * @param {Number} follow 直播间类型  0推荐 1关注
 */
export function liveList(params) {
	return request("GET", "live/getLiveUrlList", params)
}

/**
 * 创建直播
 * @param {Object} params 参数
 * @param {String} params.cate_id 分类ID
 * @param {String} params.title 标题
 * @param {String} params.live_image 封面图
 * @param {String} params.type_list 直播类型 0直播 1录播
 * @param {String} params.video_url 录播的地址
 * @param {String} params.goods_ids 带货的商品ID 用,拼接
 */
export function createLiveRoom(params) {
	return request("POST", "live/createRoom", params)
}

/**
 * 结束直播
 * @param {String} id 房间ID
 */
export function endLiveRoom(id) {
	return request("GET", "live/endLive", {id})
}

/**
 * 加入房间
 * @param {String} id 房间ID
 */
export function enterRoom(id) {
	return request("POST", "live/inRoom", {id})
}

/**
 * 离开房间
 * @param {String} id 房间ID
 */
export function emitRoom(id) {
	return request("POST", "live/outRoom", {id})
}

/**
 * 举报类型
 */
export function reportType() {
	return request("GET", "live/getQuestion")
}

/**
 * 举报类型
 * @param {Object} params 参数
 * @param {String} params.room_id 房间ID
 * @param {String} params.category_id 举报类型
 * @param {String} params.xxx
 */
export function reportRoom(params) {
	return request("POST", "live/sendQuestion", params)
}

/**
 * 打赏记录
 * @param {Object} params 参数
 * @param {String} params.room_id 房间ID
 * @param {Number} params.page 分页
 */
export function receiveGiftList(params) {
	return request("GET", "live/giftLog", params)
}

/**
 * 踢出直播间
 * @param {Object} params 参数
 * @param {String} params.room_id 房间ID
 * @param {String} params.user_id 被踢人的ID
 */
export function kickRoom(params) {
	return request("GET", "live/tichu", params)
}

/**
 * 禁言用户
 * @param {Object} params 参数
 * @param {String} params.room_id 房间ID
 * @param {String} params.user_id 禁言用户的ID
 */
export function noAllowSpeak(params) {
	return request("GET", "live/speak", params)
}

/**
 * 解除禁言用户
 * @param {Object} params 参数
 * @param {String} params.room_id 房间ID
 * @param {String} params.user_id 解除禁言用户的ID
 */
export function allowSpeak(params) {
	return request("GET", "live/relieveSpeak", params)
}

/**
 * 拉黑
 * @param {Object} to_uid 被拉黑用户ID
 */
export function addBlackList(to_uid) {
	return request("GET", "live/addBlack", {to_uid})
}

/**
 * 解除拉黑
 * @param {Object} to_uid 被拉黑用户ID
 */
export function emitBlackList(to_uid) {
	return request("GET", "live/relieveBlack", {to_uid})
}

/**
 * 发送聊天内容
 * @param {Object} params 请求参数
 * @param {String} params.content 内容
 * @param {String} params.live_id 直播间ID
 */
export function sendMessage(params) {
	return request("POST", "live/setComment", params)
}

/**
 * 获取直播间用户
 * @param {String} id 直播间ID
 */
export function liveUserList(id) {
	return request("GET", "live/getLiveUser", {id})
}

/**
 * 礼物分类
 */
export function giftCategory() {
	return request("GET", "live/getGiftCate")
}

/**
 * 礼物列表
 * @param {String} cate_id 分类ID
 */
export function giftList(cate_id) {
	return request("GET", "live/getGift", {cate_id})
}

/**
 * 关注主播
 * @param {Object} to_uid 关注人的ID
 */
export function addFollow(to_uid) {
	return request("POST", "live/addFollow", {to_uid})
}

/**
 * 取消关注主播
 * @param {Object} to_uid 关注人的ID
 */
export function cancelFollow(to_uid) {
	return request("POST", "live/cancelFollow", {to_uid})
}

/**
 * 直播间在线人数
 * @param {String} room_id 直播间ID
 * @param {Number} page 分页 
 */
export function getLiveUserList(room_id, page) {
	return request("GET", "live/getUserList", {room_id, page})
}

/**
 * 直播间禁言
 * @param {String} room_id 直播间ID
 * @param {Number} user_id 直播间用户id
 */
export function noSpeakApi(room_id, user_id){
	return request('POST', 'live/speak', {room_id, user_id})
}

/**
 * 直播间解除禁言
 * @param {String} room_id 直播间ID
 * @param {Number} user_id 直播间用户id
 */
export function allowSpeakApi(room_id, user_id){
	return request('POST', 'live/relieveSpeak', {room_id, user_id})
}

/**
 * 直播间踢人
 * @param {String} room_id 直播间ID
 * @param {Number} user_id 直播间用户id
 */
export function kickUser(room_id, user_id){
	return request('POST', 'live/tichu', {room_id, user_id})
}

/**
 * 直播间拉黑
 * @param {Number} user_id 直播间用户id
 */
export function addBlackApi(room_id, user_id) {
	return request('POST', 'live/addBlack', {room_id, user_id})
}

/**
 * 送礼物
 * @param {Object} params 请求参数
 * @param {String} params.room_id 房间ID
 * @param {String} params.gift_id 礼物ID
 * @param {String} params.number 礼物数量
 * @param {String} params.type 直播类型 1商户 2技师
 */
export function sendGift(params) {
	return request("POST", "live/sendGift", params)
}

/**
 * 获取余额
 */
export function getBalance() {
	return request("GET", "user/getPeas")
}

/**
 * 申请跟主播连麦的列表
 * @param {String} id 房间ID
 * @param {Number} page 分页
 */
export function inviteLMList(id, page) {
	return request("GET", "live/LianMai", {id, page})
}

/**
 * 用户跟主播申请连麦
 * @param {String} id 房间ID
 * @param {Number} type 连麦类型 1-视频 2-语音
 */
export function yhApplyLM(id, type) {
	return request("POST", "live/sendLianMai", {id, type})
}

/**
 * 主播同意用户的连麦申请
 * @param {String} room_id 房间ID
 * @param {String} id 申请列表中的ID
 */
export function zbAgreeLM(room_id, id) {
	return request("GET", "live/acceptLianmai", {room_id, id})
}

/**
 * 结束连麦
 * @param {String} room_id 房间ID
 * @param {String} id 申请列表中的ID
 */
export function endLM(id, room_id) {
	return request("GET", "live/endLianmai", {id, room_id})
}

/**
 * 直播带货的直播列表
 */
export function zbGoodsList(page) {
	return request("POST", "shop/shop_goods_list", {page})
}


/**
 * 主播跟用户申请连麦
 * @param {String} id 房间ID
 * @param {Number} type 连麦类型 1-视频 2-语音
 * @param {String} user_id 被邀请的user_id
 */
export function zbApplyLM(id, type, user_id) {
	return request("POST", "live/sendLianMai", {id, type, user_id, "originator":"up"})
}


/**
 * 用户同意/拒绝主播的连麦
 * @param {String} room_id 房间ID
 * @param {String} apply_id 申请记录ID
 * @param {String} pass  1=接收 2=拒绝
 */
export function userAcceptLM(room_id, apply_id, pass) {
	return request("POST", "live/userAcceptLianmai", {room_id, apply_id, pass})
}

/**
 * 直播间收益
 * @param {String} room_id 直播间ID
 */
export function roomIncomeInfo(room_id) {
	return request("POST", "live/GetRoomInfo", {room_id})
}

/**
 * 直播总收益列表
 * @param {Number} page 分页
 * @param {String} search_time 删选的时间
 * @param {Number} type 类型  1服务 2商城
 */
export function totalIncome(page, search_time, type) {
	return request("POST", "live/GetLiveIncome", {page, search_time, type})
}


/**
 * 获取直播间详情
 */
export function getLiveDetail(live_id) {
	return request("GET", "live/getLiveUrl", {live_id})
}

/**
 * 获取直播间用户详情
 * @param {Object} room_id
 * @param {Object} user_id
 */
export function getLiveUserInfo(room_id, user_id) {
	return request('GET', 'live/getUserInfo', {room_id, user_id})
}




/**
 * 上传图片
 * @param {String} file 图片的本地路径
 */
export function uploadImage(file) {
	return upload(file)
}